home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 22 / Cream of the Crop 22.iso / bbs / bdos_xr1.zip / XE_USER.DOC < prev   
Text File  |  1996-05-09  |  27KB  |  580 lines

  1. User documentation for modified Binkley 2.60 XE
  2. ===============================================
  3.  
  4. Binkley 2.60 original version is (c) Vince Perriello and available
  5. at 2:2474/400. Filenames: B???_260.ZIP (??? = DOS, OS2, W32 or SRC).
  6.  
  7. Modifications were done by (in alphabetical order) :
  8.   Carsten Ellermann, 2:2432/215
  9.   Martin M. Pedersen, 2:238/45
  10.   Matthias Tichy, 2:2433/920.14
  11.   Rudolf Heeb, 2:2464/44
  12.   Thomas Waldmann, 2:2474/400
  13.  
  14. This BT-XE version is named BT 2.60XE9605090530.
  15. This is date and time of creation    ^----^^--^  of this compiled version.
  16. Please refer to this version string if you speak of this modified version.
  17. To be short, we abbreviate this as BT-XE below...
  18.  
  19. Standard disclaimer: regard this as BETA software.
  20.  
  21. Although we don't know "known bugs" built in by us at the time of this beta
  22. release, we can NOT guarantee. So use it on your own risk ...
  23.  
  24. If you have any problem with this BT-XE version, please contact us!
  25.  
  26. Also, if you are a programmer and doing BT source code modifications /
  27. enhancements / bugfixes, too, please also contacts us and work together with
  28. us on this great project!
  29.  
  30. Modifications in this version done by Carsten Ellermann:
  31. ========================================================
  32.  
  33. - Max. number of AKAs raised from original 25 to BT-XE value of 100 AKAs.
  34.  
  35. - "ConditionalPoll" - this new function is inserted in BinkleyTerm.
  36.   New: Multi-AKA and boolean operation support implemented by Thomas Waldmann.
  37.   ConditionalPoll (also known as "FreePoll" from Arjen G. Lentz, who invented
  38.   this in his mailer XENIA) allows an Uplink (you) to reject a call from a
  39.   Downlink, if there is less mail for him than the configured minimum.
  40.   This function will only work with ISDN or a modem that reports the caller ID
  41.   in the "Ring" string.
  42.   It's possible to list up to 100 ConditionalPoll entries.
  43.  
  44.   How it does work: the downlink will call you, Binkley gets the caller-ID
  45.   (eg. "RING 57313340"), searches ALL ConditionalPoll entries for matching
  46.   addresses and checks if the condition (minimum outbound size for this AKA)
  47.   says "reject call" or "accept call" for each AKA.
  48.   Each result (accept=TRUE or accept=FALSE) is evaluated (together with the
  49.   result of previous calculation for this number) with the according
  50.   boolean operation "AND" or "OR" to calculate the total result.
  51.  
  52.   The boolean operation listed with the first configured ConditionalPoll entry
  53.   matching a specific number does not care, you can use "Or" or "And" - it
  54.   makes no difference.
  55.   
  56.   If total result is TRUE, call will be accepted.
  57.   If total result is FALSE, call will be rejected.
  58.   To reject a call Binkley sends the string configured with "Reject" to the
  59.   modem. To accept a call, Binkley sends the answer string (normal behaviour).
  60.  
  61.   For downlinks who want to make a file request or send an important crash
  62.   mail immediately, Binkley builds a zero byte size file in the outbound
  63.   called "*.TRX" for each user. If the downlink gets a "call reject", he/she
  64.   can call again within MaxDeltaT seconds and the call will be handled normally.
  65.  
  66.   To configure the function use:
  67.  
  68.   ; accept call of 07142980031 if size for 2:2474/405>=100KB or 2nd call
  69.   ; within 30 seconds:
  70.   ;ConditionalPoll  Or/And AKA [3..5D]  MinSize[KB]  MaxDeltaT[s] Phone
  71.   ConditionalPoll   Or     2:2474/405   100          30           07142980031
  72.  
  73.   ; accept call of 07142980032 if (size for 2:2474/403>=20KB or 2nd call within
  74.   ; 30 seconds) *AND* (size for 21:492/4003 >= 10KB or 2nd call within 20s).
  75.   ;ConditionalPoll  Or/And AKA [3..5D]  MinSize[KB]  MaxDeltaT[s] Phone
  76.   ConditionalPoll   Or     2:2474/403    20          30           07142980032
  77.   ConditionalPoll   And    21:492/4003   10          20           07142980032
  78.  
  79.   ; accept call of 07142980032 if (size for 2:2474/403>=100KB or 2nd call within
  80.   ; 30 seconds) *OR* (size for 21:492/4003 >= 50KB or 2nd call within 20s).
  81.   ;ConditionalPoll  Or/And AKA [3..5D]  MinSize[KB]  MaxDeltaT[s] Phone
  82.   ConditionalPoll   Or     2:2474/403   100          30           07142980032
  83.   ConditionalPoll   Or     21:492/4003   50          20           07142980032
  84.  
  85.   ; you may configure up to 100 such ConditionalPoll lines
  86.   ; dependant on your ISDN adaptor and configuration, you maybe should
  87.   ; leave out the leading "0" (national calls) or "00" (intl calls).
  88.  
  89.   To reject a call, define once:
  90.  
  91.         Reject <Modem command string|>
  92.  
  93.   For a ZyXEL Elite 2864I use:
  94.  
  95.         Reject ATH1|ATH0|
  96.  
  97.   For ELINK 310 use:
  98.   
  99.         Reject AT\\K|
  100.         ATS21.2=1     (shows caller number after RING - tested with EPROM 1.36)
  101.         
  102.  
  103.   For ELINK 301 use:
  104.  
  105.         Reject AT\\K|     (since EPROM version 2.20 of 11.5.94)
  106.         AT\O5            (show caller number after RING, since v2.12)
  107.  
  108.   Restriction for ELINKs: until a ROM is released which supports a "Call
  109.   rejected" response code, you will only be able to reject incoming calls, but
  110.   not to treat being rejected yourself (you will just receive "NO CARRIER" if
  111.   you are rejected). You may configure a very LOW MaxDeltaT value to handle
  112.   this (not nice, but possible) - see also binkley event file A= parameter.
  113.   But your links should be aware that they will flag you undialable if they
  114.   dial too often without getting a connection.
  115.  
  116. - New CFG-verb "ModemReject" to identify a rejection response from the modem.
  117.   New CFG-verb "AfterCallOut" to send an AT???-command to get a cause value
  118.   from ISDN adapters like ZyXEL 2864I.
  119.  
  120.   There are two different ways to see if a call is rejected:
  121.   1) The ISDN adapter sends "Busy/Cause=34Be" in one line.
  122.   2) You send an AT??? command and get an answer like "Cause = Call reject".
  123.  
  124.   For 1) you need only "ModemReject <Rejectstring>", for 2) you need the
  125.   Rejectstring and "AfterCallOut <Lines> <AT command>".
  126.  
  127.   AfterCallOut needs a number of lines (of output caused by AT command) and an
  128.   AT command which leads to a report with the cause value.
  129.  
  130.   After a rejected outbound call, all mail to this AKA will change to NORMAL
  131.   flavour. Now you have an easy way to ping your Uplink, if he knows the
  132.   feature of Freepoll<tm>/ConditionalPoll.
  133.   ModemReject will only work with automatic call not with manual calls!
  134.  
  135.   For ZyXEL 2864I i use "AfterCallOut 9 ATI3|" and "ModemReject Call reject".
  136.   For CFOS you need only "ModemReject /Cause=34Be".
  137.   For ELINK, there is no such possibility until now.
  138.  
  139.   
  140. Modifications in this version done by Matthias Tichy:
  141. =====================================================
  142.  
  143. - New config verb "ReInitTime".
  144.   This lets you specify the time between modem initializations.
  145.   ReInitTime 10 -> init the modem every 10 minutes.
  146.   Valid range for this setting is 1 .. 10 only.
  147.   If you specify 0, you will get 1 minute. If you specify >10, you will get
  148.   10 minutes. This is due to a restriction in BT's timer routine and may be
  149.   removed in a later version of BT-XE.
  150.  
  151. - New config verb "ReadHoldTime".
  152.   This lets you specify the time between automatic outbound rescans.
  153.   ReadHoldTime 10 -> rescan outbound 10 minutes. Valid range is 1...
  154.  
  155. - Support for external request processors (ERPs) with SRIF
  156.  
  157.   To use this, specify in Binkley.Cfg:
  158.  
  159.     SRIF e:\maxfrq\maxfreq $s
  160.  
  161.   The $s parameter will be replaced by the SRIF filename by BT-XE.
  162.   The SRIF file will be called "SRIF.Txx", xx=TaskNumber in Hex.
  163.  
  164.   Known limitations:
  165.  
  166.   The external SRIF erp is only invoked in an EMSI/WaZOO session.
  167.   Also when JANUS is used, the SRIF ERP is not invoked.
  168.   This may be changed in the near future.
  169.  
  170.   The generated SRIF is compatible with the SRIF 1.01 Standard.
  171.   But not all of the optional statements are included.
  172.  
  173.   I tried it also with MaxFreq 1.00 wb2 ERP only, so i cannot guarantee that
  174.   also other ERPs work with Binkley.
  175.  
  176.   MaxFreq needs in his config a Mailer statement. Since it is not (yet)
  177.   allowed to specify Binkley, i use Cantaloup };->=>
  178.  
  179.   Have much fun, and please test carefully.
  180.   
  181.   
  182. Modifications in this version done by Rudolf Heeb:
  183. ==================================================
  184.  
  185. - New config verb "ShowAlive".
  186.   Generates a file I_ALIVE.xx (xx=Tasknumber) in the "Flags" directory.
  187.   If the file exists, nothing is done except checking it for existance.
  188.   If it does not exist, it will be created by BT-XE.
  189.   Check for existance is done each minute. So external programs can check if
  190.   BT-XE is alive by deleting this flag file and waiting if it is re-created
  191.   in a minute. If BT-XE terminates, it deletes the flag file itself.
  192.  
  193. - No system crash at requests of PW-protected files without password.
  194.  
  195. - Enhanced user dialogue with Alt-G (get file[s]).
  196.   BT-XE will show destination system name after you entered dest address.
  197.  
  198. - Enhanced user dialogue with Alt-S (send file[s]).
  199.   BT-XE will show destination system name after you entered dest address.
  200.   If you enter a wildcard filename, it will use the first matching file.
  201.   If no (matching) file is found, Alt-S remains in filename input mode and
  202.   you can try again. No unrecognized typos any longer!
  203.   With Win32 version of BT-XE, "\" works with german Windows NT, too.
  204.  
  205. - Enhanced user dialogue with Alt-S/Alt-G.
  206.   After asking "More requests"/"More sends", the same address is used again
  207.   if you answer "y". To specify a new address, enter "o" for (o)ther node.
  208.  
  209. - Enhanced user dialogue with Alt-S (send file[s]).
  210.   Support filename expansion like 4OS2/4DOS using TAB for expansion.
  211.  
  212. Example:
  213.      type on my machine c:\d<TAB>\bi<TAB>\HR<TAB><TAB>
  214.      get on my machine  c:\dowork\binkley\HR0418021.DOC
  215.  
  216.  
  217. Modifications in this version done Martin M. Pedersen
  218. =====================================================
  219.  
  220. - Implemented support for environment variables. If a sequence of
  221.   letters, digits, and underscores are enclosed between %'s, it is no
  222.   longer handled as a comment, but as an environment variable.
  223.   Otherwise, % is still handled as a comment. Also, the configuration
  224.   file parser now allows configuration verbs to be indented.
  225.   (TW had implemented support for environment variables, too).
  226.  
  227. - Conditional inclusion of lines based on the task number. If a line
  228.   begins with a decimal number, it is compared with the task number
  229.   as set by the TASK environment variable (or TASK=n on command line).
  230.   This somehow offers the same functionality as [Common] and [Task n],
  231.   but is simpler to use for single line differences. Example:
  232.  
  233.         1 Init  |AT&FZ|
  234.         3 Init  ATZ|~~ATH0S27=17|
  235.  
  236. - I don't think the distributed version of Binkley had this bug, as
  237.   IBMC was treated specially. But Watcom had the same problem as IBMC.
  238.   The number of minutes left is written to the screen through a file
  239.   which is buffered. This fucks up the display, if the buffer is not
  240.   flushed because the other status information was written directly to
  241.   the display bypassing the buffer. Now the buffer is flushed for both
  242.   the IBMC and the Watcom versions.
  243.  
  244. - Added new keyword "PutEnv". If this is used, there string following
  245.   it is put into the environment. Variables set in this way will be
  246.   visible to Binkley itself, and by programs spawned by it; e.g.
  247.   SPAWNBBS.CMD. Example:
  248.  
  249.         PutEnv          BBSHOME=f:\bbs
  250.         PutEnv          PATH=%BBSHOME%;%BBSHOME%\bin;%PATH%
  251.         StatusLog       %BBSHOME%\bt\bt%TASK%.log
  252.         CostLog         %BBSHOME%\bt\costlog%TASK%.log
  253.  
  254. - "SpawnInit" keyword specifies a command that should be executed as part
  255.   of the first-time initialization. Example:
  256.  
  257.         SpawnInit su %PORT% lock %BAUD%
  258.  
  259.   The command is executed only once, in the moment when the command is
  260.   encountered in the configuration file. Binkley does not even store
  261.   the command in memory. This keyword can save you for a batchfile, and
  262.   can use environment variables set in the configuration file.
  263.  
  264.   You may use multiple SpawnInit commands to start multiple commands.
  265.  
  266. - "MailFlag" keyword. If this is specified in the configuration file (no
  267.   arguments), and "Flags" is also specified, Binkley will create a file
  268.   called "BTMAIL.IN" in the flags directory when mail has been received.
  269.  
  270. - "TimeSync" keyword. Followed by an address and a MaxDeltaTSeconds value,
  271.   it specifies that the clock should be set to after an EMSI session (without
  272.   password error) with the node specified (using TRX) - if the time difference
  273.   is not more than MaxDeltaTSeconds seconds.
  274.   Example:
  275.  
  276.         TimeSync        2:238/28  60
  277.         
  278.   So time will get synced to time of 2:238/28, but only if difference is within
  279.   60 seconds to our own time.
  280.   
  281.   Tip: setting MaxDeltaTSeconds to e.g. 3700 (more than 1 hour) lets you do
  282.        summer / winter time zone switching automatically.
  283.  
  284. - "LocalLog" keyword. If this keyword is specified (no arguments),
  285.   Binkley will write its log information (both the normal log, and the
  286.   cost log) to a log file in the same directory as BINKLEY.Dxx etc.
  287.   When Binkley exits, and at the end of a session, Binkley will move
  288.   the contents of the local file to the file specified in the
  289.   configuration file, but only if it is able to. The log file specified
  290.   in the configuration file will no longer be continiously opened by
  291.   Binkley, and can safely be accessed by other programs. If Binkley is
  292.   not able to write to the specified log file, the log entries just
  293.   stays put in the local file until Binkley is able to move it. The
  294.   local log files are called (xx is the task number):
  295.  
  296.         BINKLEY.Cxx     (Local Cost Log)
  297.         BINKLEY.Lxx     (Local Status Log)
  298.  
  299. - Fix for ISDN caller ID using ZyXEL 2864I. When RING was seen and
  300.   Binkley was about to send the answer string, it would wait until the
  301.   modem became silent for a fraction of a second. In this delay, Binkley
  302.   would read characters from the modem, and silently throw them away.
  303.   The caller ID on ISDN lines was lost in this way! This is fixed, and
  304.   input from modem in this period, is now logged as usual. Setting
  305.   RingWait to 2, would also have solved this particular problem, but
  306.   there is no need to wait.
  307.  
  308. - "Respawn" command line argument. If this is specified, Binkley is
  309.   automatically respawned in the unexpected event that Binkley would
  310.   trap (memory access violations etc). This wan't work on DOS, but does
  311.   under OS/2, and may work with other real operating systems too.
  312.  
  313.   The way this is accomplished is quite simple: We now have two processes
  314.   running for each Binkley. The first Binkley process spawns the other,
  315.   the normal Binkley, and monitors if it exits regularly. If so, the first
  316.   Binkley terminates itself with the errorlevel of the second Binkley. If
  317.   not, it just respawns the second Binkley.
  318.  
  319.   The mechanism requires that the environment variable _BINKLEY_EXIT_ is
  320.   _NOT_ set when Binkley is initially started. Binkley checks if this
  321.   variable is set, and if so, assumes it is the second (normal) Binkley.
  322.   If it is not set, Binkley will set it itself, and spawn the second
  323.   Binkley. _BINKLEY_EXIT_ is set to the filename BINKxxxx.XIT, where xxxx is
  324.   the first Binkley's process ID. The second Binkley creates this file on
  325.   a normal exit, and the first Binkley checks if it can delete it. If not,
  326.   it didn't exist, and the normal Binkley must have died irregularly.
  327.  
  328. - The parser used to identify keywords would recognize "CostLogThingy" as
  329.   "CostLog"; i.e. allowing the input word to be longer than the keyword.
  330.   This may sound okay, but it means that you cannot have two keywords
  331.   where the first is a prefix of the other. Also, you cannot define
  332.   variables on the command line where the name matches a keyword. This
  333.   is changed now, and the parser requires the words to be of equal
  334.   length.
  335.  
  336. - Implemented TW's idea of setting environment variables on the command
  337.   line. If an argument contains a '=', it is put into the environment.
  338.   Example:
  339.  
  340.         bt32 TASK=3
  341.  
  342.   Remark of TW: The TASK=n argument on BT32.EXE command line is a
  343.                 MUST HAVE in this version of BT-XE !
  344.                 Don't use TaskNumber in Binkley.Cfg!
  345.                 You MUST change your BAT / CMD files !!!
  346.   
  347. - Built the language file into the EXE file. If there is no language file,
  348.   Binkley now reads the language file from the EXE itself. The language is
  349.   simply appended to the EXE followed by the file size (two bytes). BTLNG
  350.   now can do this. Example:
  351.  
  352.         btlng32 patch bt32.exe binkley.lng
  353.  
  354.   Attention: you should NOT use an old *.LNG file nor an *.LNG file at all
  355.              if you want to have standard (english) messages - they are
  356.              built-in in the EXE now!
  357.              
  358. - "ShortCostLog" keyword. Binkley's costlog contains a log of useful
  359.   information that easier to monitor than the status log. However, this
  360.   log is ment for human reading, and not very easily handled with utilities
  361.   like grep, awk, (REXX?) etc. So i have invented a ShortCostLog
  362.   keyword. If it is used, the CostLog will be written in another format.
  363.   The argument to ShortCostLog is a format string specifying this
  364.   format. The format string can contain literal characters and macros. A
  365.   macro is prefixed with '$', followed by an optional length, and ended
  366.   with a character specifying what kind of information to write. If the
  367.   optional length begins with '0', the information is zero-padded;
  368.   otherwise it is space-padded. The following macros are defined:
  369.  
  370.         $#          TaskNumber
  371.         $$          The $ character
  372.         $<          Newline
  373.         $A          Node address
  374.         $B          Baud rate
  375.         $C          Size of biggest file sent or received
  376.         $D          Seconds used to transmit biggest file ($C)
  377.         $E          Total number of errors
  378.         $H          Hour
  379.         $I          Number of inbound files
  380.         $J          CPS of inbound files
  381.         $M          Minute
  382.         $O          Number of outbound files
  383.         $P          CPS of outbound files
  384.         $S          Second
  385.         $T          Total number of files
  386.         $U          Total CPS
  387.         $V          Size of biggest file received
  388.         $W          Seconds used to receive biggest file ($V)
  389.         $X          CPS of biggest file received ($V)
  390.         $Y          CPS of biggest file send or received ($C)
  391.         $b          Abbreviated month
  392.         $c          Cost
  393.         $d          Day of month
  394.         $f          Number of errors when receiving files
  395.         $g          Number of errors when transmitting files
  396.         $i          Size of inbound files
  397.         $j          Efficiency of inbound files
  398.         $m          Month
  399.         $o          Size of outbound files
  400.         $p          Efficiency of outbound files
  401.         $s          Seconds of session
  402.         $t          Total size of files
  403.         $u          Total efficiency
  404.         $v          Size of biggest file sent
  405.         $w          Seconds used to send biggest file ($v)
  406.         $x          CPS of biggest file sent ($v)
  407.         $y          Year without century
  408.  
  409.   The format string can be left out in which case it defaults to:
  410.  
  411.    ShortCostLog $02y$02m$02d $02H$02M$02S $# $14A  $6B  $4s $4c $8i $8o $8C $4Y
  412.  
  413.   Which produces log entries like:
  414.                                                                    Biggest file
  415. Date   Time   Task      Node  Connect  Sec Cost       In      Out    -size -cps
  416. 960328 132222 1      2:238/9   28800    29    0     6036     9903     9896 3298
  417. 960328 132539 1     2:238/54   28800   105    0        0   230517   223554 3287
  418.  
  419.   You can also use ShortCostLog to produce comma separated files which can
  420.   be imported directly into a spreadsheet or a database.
  421.  
  422. - Source code fixes important to Watcom C only:
  423.   1. Watcom C uses buffered output as IBMC does, and this caused
  424.      problems with display updates while transferring files in terminal
  425.      mode. The real problem is that buffered writes are mixed with
  426.      unbuffered display output. The work-around for the IBM compiler
  427.      has been adopted for Watcom (flushing buffers).
  428.   2. The signal stuff used to handle Ctrl-C/Break didn't work with
  429.      Watcom. This seems to be a Watcom problem; signal(SIGBREAK,SIG_IGN)
  430.      is broken. The solution is to use signal(SIGBREAK,handler) instead,
  431.      letting handler() reinstall itself on SIGBREAK and do nothing else.
  432.  
  433.  
  434. Modifications in this version done by Thomas Waldmann:
  435. ======================================================
  436.  
  437. - Fixed Hydra buffer management bug which caused memory corruption in original
  438.   BT 2.60 release. In OS/2 on my system this bug showed as funny attributes
  439.   on the upper "windows" of BT screen. But the effects may have varied widely
  440.   depending on compiler and system ...
  441.  
  442. - Error message for "COM0?.SYS" changed to "COM.SYS".
  443.  
  444. - Activated priority control.
  445.   The originally released EXE didn't control priority, but worked EVER at
  446.   priority Normal/0. This is too low, if you have other "heavy" processes
  447.   running on your system. ISDN transfer rates dropped to below 5000 CPS in
  448.   such cases (normal: 7000..7800 CPS) on my system (P133,32MB).
  449.  
  450.   I set the appropriate compiler switch and re-activated the priority control.
  451.   Also, I enhanced priority control via environment variables.
  452.  
  453.   You may now influence priorities using these environment variables:
  454.   
  455.   This is the default:                 This is as without priority control:
  456.     SET REGULARPRIORITY=R31              SET REGULARPRIORITY=R0
  457.     SET MODEMPRIORITY=F31                SET MODEMPRIORITY=R0
  458.     SET JANUSPRIORITY=T31                SET JANUSPRIORITY=R0
  459.     SET HYDRAPRIORITY=T31                SET HYDRAPRIORITY=R0
  460.  
  461.   Syntax: ...PRIORITY=<class>[delta]
  462.     class:
  463.       R = Regular (2)
  464.       F = Foregroundserver (4)
  465.       T = TimeCritical (3)
  466.     delta:
  467.       0 = normal
  468.      ..
  469.      31 = high (default, if not specified)
  470.  
  471.   Do experiments with these values! The defaults needn't to be the best values
  472.   for YOUR system and high priority needn't be better than low priority.
  473.   
  474. - The BINKLEY.DAY and .SCD are renamed to BINKLEY.Dxx and .Sxx (xx=TaskNumber).
  475.  
  476. - Multiline configuration via single Binkley.Cfg and Binkley.Evt files!
  477.   [Common] and [Task x] in single Binkley.Cfg / .Evt make multiline operation
  478.   possible with one single Cfg and one single Evt file.
  479.  
  480.   You needn't use this nice feature if you don't want to. Operation should be
  481.   possible with the same config / event files as in orig. BT 2.60 release
  482.   without usage of these "sections", because the implicit default section at
  483.   top of each config file read (or included) is "[Common]".
  484.  
  485.   BUT: you MUST use TASK=n commandline argument in ANY case.
  486.   
  487.   [Common]
  488.   ; settings in this section are read by all tasks.
  489.   ; ...
  490.   [Task 1]
  491.   ; settings in this section are read by Task 1 only.
  492.   ; all other tasks ignore these settings like if they were "blind" ...
  493.   [Task 2]
  494.   ; settings in this section are read by Task 2 only.
  495.   ; all other tasks ignore these settings like if they were "blind" ...
  496.   [Common]
  497.   ; settings in this section are read by all tasks.
  498.   ; ...
  499.  
  500.   If you specify a setting first in [Common] and afterwards the same setting
  501.   in [Task x] (or vice versa), behaviour of BT-XE in Task x is the same as
  502.   if you specified these settings twice in this order using original BT 2.60.
  503.  
  504.   If you include another config file using "Include" statement, state (read
  505.   settings or not) is treated locally to each file and restored after return
  506.   from reading that file.
  507.   E.g.:
  508.   [Common]
  509.   ; settings here are common for all tasks
  510.   Include Task1.Cfg         <- may have [Task x] and [Common] sections, too.
  511.   ; settings here are common for all tasks, regardless of Task1.Cfg contents.
  512.  
  513. - Using TaskNumber for BBS/EXT exits.
  514.  
  515.   This is now handled like in Binkley 2.60 release (again).
  516.   Review your CMD / BAT files if you used former BT-XE versions !!!
  517.  
  518.   BBS exits:
  519.   %1      %2          %3        %4             %5
  520.   DTErate ConnectRate COMhandle Time2NextEvent Modem-String
  521.  
  522.   EXT exits:
  523.   %1      %2          %3        %4 %5             %6
  524.   DTErate ConnectRate COMhandle n  Time2NextEvent Modem-String
  525.  
  526.   This is NORMAL Binkley parameter layout again (no additional parameter as
  527.   in former betas of BT-XE). If you need the TaskNumber in this context, just
  528.   get it out of %TASK% environment variable (which is defined by BT-XE if you
  529.   invoke it with BT32.EXE TASK=n).
  530.  
  531. - Fixed bug caused by using wrong HPFS file timestamp in SCD/EVT and file
  532.   update request handling. Now, the "last file modification" timestamp is used.
  533.   Before, "last file access" timestamp was used - which was definitely WRONG
  534.   for HPFS. This caused problems on HPFS only, because FAT file system does not
  535.   have multiple different file timestamps like HPFS (file creation, last file
  536.   access, last file modification).
  537.  
  538. - "Hydra1st" config verb. Test this carefully !!!
  539.  
  540.   Behaviour without Hydra1st: standard - like until now.
  541.                               If a caller says to be able to do Janus,
  542.                               he will get Janus protocol - even if he could
  543.                               also do Hydra.
  544.                               
  545.   Behaviour with Hydra1st: Hydra is preferred.
  546.                            If a caller says to be able to do Hydra, he will
  547.                            get Hydra protocol - even if he could also do Janus.
  548.  
  549. - Zoomed outbound view "Age" bug fixed (weird ages of some thousand days were
  550.   displayed - fixed!).
  551.  
  552. - Fixed cosmetical problem with password failure msg ("trash" at end of PW)
  553.   "His='', Ours='XXXXXXXX<trash>'
  554.  
  555. - Enhanced Screen Layout / Colors:
  556.   - Extended color settings (like BT-EE now! ;-)
  557.     There are 2 more colors (configured after the normal 2.60 colors) now for
  558.     windows frame title text and frame color. See sample configs ...
  559.   - TaskNumber in top left corner
  560.   - Port and Baud switched position
  561.   - broader Recent Activity and Hold Window
  562.   - with mail "Age" display in Hold Window
  563.   - one screen row more than before (there are 25, not 24).
  564.     Therefore one row more in Recent Activity window.
  565.  
  566. - Implemented "MakeDir" config verb. This creates outbound directories needed
  567.   for BSY flags. Also, it removes empty outbound directories.
  568.   
  569. - RecentyActivity-Buffer is saved to and restored from disk file Binkley.Axx.
  570.  
  571. - FREQ response packet fixes:
  572.   - time string had incorrect printf format
  573.   - time string had incorrect FTS format (should be 2 blanks in the mid!)
  574.   - put in session password into freq response packet as packet password (well,
  575.     this isn't correct in every case, but better than no password at all).
  576.   - put in destination NODE address, too. This was forgotten ...
  577.  
  578.  
  579. [EOF]
  580.